/**
 *
 */

export interface Column {
  title: string; // 表头显示的标题
  dataIndex: string; // 对应的数据字段
  key: string; // 每列的唯一标识
  width?: number; // 列宽度
  align?: 'left' | 'center' | 'right'; // 内容对齐方式
  render?: (text: string, record: any, index: number) => React.ReactNode; // 自定义渲染单元格
  sorter?: (a: any, b: any) => number; // 排序函数
  ellipsis?: boolean; // 是否开启内容溢出省略功能
  sortDirections?: ('ascend' | 'descend')[]; // 可用的排序方向，默认为 ['ascend', 'descend']
}

export interface TableProps {
  columns: Column[]; // 表格列配置
  dataSource: any[]; // 表格数据源
  rowKey: string | ((record: any) => string); // 唯一行标识
  showHeader?: boolean; // 是否显示表头，默认显示
  bordered?: boolean; // 是否显示表格边框，默认不显示
  rowHeight?: number; // 每一行的高度，用于大屏布局
  containerHeight?: number; // 表格总高度，用于自动适配
  onSortChange?: (sorterField: string, order: 'ascend' | 'descend') => void; // 排序改变时的回调函数
  tooltipOnOverflow?: boolean; // 当内容溢出时，是否显示气泡提示（默认 false）
  scrollSpeed?: number; // 表格滚动的速度
  stickyHeader?: boolean; // 固定表头
}
